const errrule=require("../tools/Err");
module.exports = class extends think.Logic
{

    constructor(ctx)
    {
        super(ctx);
        this._guid = this._getGuid();
        //guid验证规则
        this._guidRule = {
            guid: {
                string: true,       // 字段类型为 String 类型
                required: true,     // 字段必填
                trim: true,         // 字段需要trim处理
                method: 'GET',       // 指定获取数据的方式,
                length: {min: 36, max: 36} //长度必须为36
            }
        };
    }

    _getGuid()
    {
        const _guid = this.get('guid');
        if (_guid && think.isString(_guid))
        {
            return _guid;
        } else
        {
            return '';
        }
    }

    async getAction()
    {
        if (this._guid)
        {
            //查询单个

            console.log('单个');
        } else
        {
            //查询所有
            console.log('所有');

        }
    }


    /**
     * 对get方式的guid进行统一验证
     * @returns {*}
     * @private
     */
    checkGetGuid()
    {
        if ((this.method == 'GET' || this.method=='DELETE' )&& this._guid)
        {
            if (this._guid)
            {
                //对guid进行验证
                if (!this.validate(this._guidRule))
                {
                    return this.fail(551, this.validateErrors);
                }
            }
        }

    }
    //总错误提示方法
    error(errNo,errMsg){
        this.fail(errNo,errMsg);
        return false;
    }

    /**
     * 统一错误代码返回方式
     * @param errno
     * @param data
     * @returns {*}
     */
    info(errno,data=''){
        let err=new errrule();
        let status=err.info(errno,data);
        return this.error(status);
    }
};
